#pragma once
#include "CRenderObj.h"

namespace Ware
{
	class IGraphic;
	class IEffect;
}

class CEffectRenderObj : public CRenderObj
{
	friend class CGameScene;
protected:
	CEffectRenderObj( uint32 uID, ISceneManager* pSceneManager, IResourceManager* pResourceManager, IEffect* pEffect )
		: m_pEffect( pEffect )
		,CRenderObj( uID, pSceneManager, pResourceManager ) {}

	virtual VBOOL		Create();

public:

	virtual void		SetPos( int32 nX, int32 nY );
	virtual void		SetAlpha( VBOOL bAlphaBlend, int32 nAlpha );

	virtual void		SetWireFrame( VBOOL bWire );

	virtual VBOOL		Render( IGraphic* pGraphic, uint32 uCurTime );

	virtual void		GetBoundRect( SIntRect& rcBound );

private:
	IEffect*			m_pEffect;
};